草庐IT

c++ - SIMD C++ 库

全部标签

c++ - 从静态构造函数代码调用时 pthread 库失败

我有一个包含GLiblibrary的C++共享库对象。当我创建一个带有空main()函数的最小测试程序,并链接到共享库时,该程序在运行时立即中止,并显示以下GLib错误信息:GLib(gthread-posix.c):UnexpectederrorfromClibraryduring'pthread_cond_init':Invalidargument.Aborting.因为我的主函数是空的,错误一定是在某个地方的某个预主初始化函数中发生的。因此,使用GDB我发现GLib有一个静态初始化构造函数(在glib-init.c中),它在运行时调用main()之前。在该初始化函数中,它调用了p

python - 将 Waf 目标链接到由外部构建系统 (CMake) 生成的库

我的waf项目有两个依赖项,使用CMake构建。我正在尝试做的是遵循dynamic_build3在wafgitrepo中找到的示例,创建一个生成CMake的工具,并在成功构建后,在waf的输出子目录中执行安装:@extension('.txt')defspawn_cmake(self,node):ifnode.name=='CMakeLists.txt':self.cmake_task=self.create_task('CMake',node)self.cmake_task.name=self.target@feature('cmake')@after_method('process

c++ - 对 __isoc99_sscanf 的 undefined reference

我有一个使用sscanf的静态C库libex.a。库是使用-std=c99编译的我想在使用-std=c++11编译的某些C++代码中使用库函数,但出现以下错误:lib/libex.a(srcfile.o):Infunction`my_function':/srcpath/srcfile.c:215:undefinedreferenceto`__isoc99_sscanf'经过一番探索后,我发现sscanf由于向后兼容性黑客攻击而存在版本问题,因此重定向到__isoc99_sscanf,所以我怀疑这是不知何故问题的根源。但是,我检查了我的glibc版本,它看起来足够新,以至于其他地方建议

c++ - C 编译 : error: stray '\4' in program ; octal flow?

正在尝试编译大量.c文件(1)文件编译正常,使用cccc-Wall-Wextra-Wunreachable-code-ggdb-O0*.c(2)然后,我需要根据最终输出创建一个静态库,以在C++程序中使用。所以我这样做:arcruliborientdb-c.a*.o(3)工作正常。但是,当我编译包含第1行库的c++程序testme.cpp时(line1oftestme.cpp)#include"liborientdb-c.a"编译步骤:cctestme.cpp我收到这个错误:liborientdb-c.a:117:22:error:stray'\3'inprogramliborient

c++ - 从 C 代码调用具有复杂参数和复杂返回类型的 C++ 函数

我有一个C++数学库并用Rust编写了一个项目。由于无法直接从Rust调用C++,但可以调用C,因此我决定编写一个从C++到C的标准包装器。除具有复杂参数的函数外,一切都或多或少地按预期工作,其中虚部由于某种原因丢失。下面我提供mwe。export_c++.h#ifdef__cplusplus#includestd::complexfoo(conststd::complexa);#endif#ifdef__cplusplusextern"C"{#endif#includedouble_Complexc_foo(constdouble_Complexa);#ifdef__cplusplu

c++ - 如何从多个静态库中创建一个静态库?

我们最近将一个C++项目从VisualStudio6转换到VisualStudio8。一切都很顺利,直到我们编译了一个将所有静态库放入一个大静态库中的项目。默认情况下,在两个版本的项目之间转换后,项目没有做任何事情(没有创建大的静态库,它只是说项目是最新的)。我们通过向项目添加一个虚拟(空)文件找到了一个可行的解决方案(之前在VisualStudio6解决方案中没有其他文件)。一切顺利,我们设法使用新的开发环境(VisualStudio8)编译项目。我的问题是:如果不向项目中添加虚拟文件,还有其他方法可以做到这一点吗?提前感谢您的回复 最佳答案

c++ - 并发空间上很酷的开源项目?

我正在C和C++并发编程空间中寻找很酷的开源项目,这些项目需要积极的开发人员贡献。我是领域中立的,但会更喜欢数学/统计相关领域的东西。任何提醒的人? 最佳答案 提升C++库集合我建议看一下boostC++librarycollection.有几个处理并发处理的有趣库,使用这些库将极大地提高您自己的通用和跨平台C++编程技能。他们的一些libraries与并发有关。boost的好处在于它分布广泛,并且是C++0x对C++标准的更新中出现的许多变化的源头,因此每一个贡献都会产生巨大的影响。接受的并发库-Boost.Interproces

c++ - 嵌套的 cmake 库

我们有一个这样组织的C/C++项目:lib1/CMakeLists.txtsublib1/CMakeLists.txtfoo.clog.clog.h目录sublib1/与CMakeLists.txt文件中的add_library和target_link_librariesCMake命令链接。改变:我们不能从foo.c/some-func调用log.c/some-func-2中的函数。链接器提示那些函数未定义。 最佳答案 库和目标文件在您的链接命令中出现的顺序很重要,并且可能导致undefinedsymbol的复杂问题。您没有在帖子中

c++ - 如何调试 Google 代码库中的源代码

我想从谷歌代码库调试以下源代码,http://code.google.com/p/rx/我的问题是,我无法找到一个合适的IDE,可以将源代码中的所有子文件夹视为一个完整的项目。我已经尝试过netbeansC++、codeblocks、eclipseC++等。他们在打开项目时的问题是他们将主项目中的所有子文件夹视为不同的项目。是否有可用于调试来自google代码库的源代码的ide。或者有什么方法可以调试这些项目吗?操作系统:Ubuntu或Windows 最佳答案 您可以创建一个虚拟makefile:all:g++code_dir/*/

c++ - 如何使用 BlueZ 获取 RSSI?

我目前正在构建一个小型实用程序,以通过蓝牙和计算机找到我的手机。为此,我试图让RSSI评估两个设备之间的距离。如何在C/C++中使用Bluez获取RSSI?是否有用于此的hci命令?如果有,是否有HCI命令列表?谢谢。 最佳答案 有没有对您有用的实用程序。如果您没有尝试安装所有bluez库,请尝试使用bluetoothctl。您只需开始扫描,它就会为您提供来自所有设备的rssi。如果需要查看代码。你也在git代码中搜索https://git.kernel.org/cgit/bluetooth/bluez.git/tree/